Method and apparatus for power management

ABSTRACT

An electronic device includes a processor configured to run a plurality of applications, a power supply coupled to the processor, and a database coupled to the processor The database is configured to store information identifying each of the plurality of applications as being in either a first set of applications or a second set of applications. The processor monitors the power level of the power supply and is configured to disable the first set of applications when the power level reaches a predetermined power level.

BACKGROUND

The present invention relates generally to the field of electronicdevices, and more specifically, to a method and apparatus for managingpower for such devices.

Electronic devices, including desktop computers, laptop computers,handheld computers, and other devices, may offer a variety offunctionality to users and be provided in various configurations. Forexample, handheld computing devices, including “palmtops,” “palmhelds,”personal digital assistants (PDAs), “smart phones,” or other handheldcomputers typically weigh less than a pound and fit in a pocket.Handheld and other computing devices typically offer users applicationssuch as wireless telephony, e-mail, camera capabilities, music playing(e.g., MP3) features, web browsing capabilities, etc.

Users are able to utilize the various applications available on aparticular electronic device so long as there is sufficient poweravailable to the device. When the device is, for example, coupled to awall outlet via a power cord, or stationed in a cradle having rechargingand/or power features, power availability may generally not be an areaof concern.

However, one of the advantages associated with many electronic devicesis their portability and the ability of users to use the devices withoutthe need of a power cord, cradle, or other device that may hindermobility. This advantage is made possible though the use of powersupplies, such as batteries, that may be attached to or housed withinthe device itself.

Because of the small size and portability requirements of, for example,handheld computing devices, there may be corresponding constraints onthe size of internal and/or removable power supplies such as batteries.Furthermore, as the number of applications available to users ofcomputing devices increases, so does the likelihood that integratedpower supplies such as batteries will be discharged at ever-increasingrates, often inadvertently or without the user noticing.

For example, a business traveler may utilize a handheld computing deviceto play MP3 music files while aboard an airplane. If the user shouldfall asleep during the flight, the user may wake to find that his or heruse of the MP3 features have fully drained the power supply for thehandheld device, thus making it impossible for the user to use anyapplications, when the user may have a desire to use at least selectedapplications such as, for example, telephone or e-mail.

Accordingly, it would be advantageous to provide an electronic devicethat would either alert a user or automatically disable selectedapplications upon determining that the power supply level had reached apredetermined level. It would further be advantageous to allow a user toconfigure an electronic device such that the device would reservesufficient power to support selected applications for a predeterminedamount of time by disabling other applications.

Other features and advantages will be made apparent from the presentspecification. The teachings disclosed extend to those embodiments thatfall within the scope of the appended claims, regardless of whether theyprovide one or more of the above-identified advantages.

SUMMARY

One embodiment relates to an electronic device comprising a processorconfigured to run a plurality of applications, a power supply coupled tothe processor, and a database coupled to the processor The database isconfigured to store information identifying each of the plurality ofapplications as being in either a first set of applications or a secondset of applications. The processor monitors the power level of the powersupply and is configured to disable the first set of applications whenthe power level reaches a predetermined power level.

Another embodiment relates to a method for reserving power in a powersupply for an electronic device. The method includes identifying a setof at least one application from a plurality of applications availableon the electronic device, monitoring the power level of a power supplyfor the electronic device, and disabling the set of at least oneapplication when the power level for the power supply reaches thepredetermined power level.

Yet another embodiment relates to a method for reserving power for aportable computing device. The method includes configuring a database todefine a group of applications available on the portable computingdevice, monitoring the power level of a power supply for the portablecomputing device, and providing a prompt to the user to approvedisability of the group of applications upon the power level of thepower supply reaching a predetermined power level. The database isconfigured responsive to a first input received from the user.

The invention is capable of other embodiments and of being practiced orbeing carried out in various ways. Alternative exemplary embodimentsrelate to other features and combinations of features as may begenerally recited in the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention will become more fully understood from the followingdetailed description, taken in conjunction with the accompanyingdrawings, wherein like reference numerals refer to like elements, inwhich:

FIG. 1 is a front view of an electronic device according to an exemplaryembodiment;

FIG. 2 is a system diagram of a power management system according to anexemplary embodiment;

FIG. 3 is a front view of a display of a preferences page of anelectronic device according to an exemplary embodiment;

FIG. 4 is a front view of a display of a preferences page of anelectronic device according to an exemplary embodiment;

FIG. 5 is a flowchart depicting the steps of managing power in anelectronic device according to an exemplary embodiment;

FIG. 6 is a front view of a display of an output provided to a user ofan electronic device according to an exemplary embodiment; and

FIG. 7 is a front view of a display of an output provided to a user ofan electronic device according to an exemplary embodiment.

DETAILED DESCRIPTION

Referring to FIG. 1, an electronic device 100 is depicted according toan exemplary embodiment. Electronic device 100 may be a stationary(e.g., desktop) computer, a mobile (e.g., laptop, handheld, etc.)computer, or other electronic device. Examples of handheld computingdevices include Palm style computers manufactured by Palm, Inc., ofSanta Clara, Calif. Other exemplary embodiments may include otherhandheld computers and personal digital assistants, as well as mobiletelephones, smart phones and other mobile computing devices.

Preferably, device 100 includes interactive hardware and software thatperforms functions such as maintaining calendars, phone lists, tasklists, note pads, calculator applications, spreadsheets, games, andother applications capable of running on a computing device. Further,device 100 may be configured for such functions as voice memo recordingand playback as well as communications network connectivity, internetconnectivity, and wireless telephony.

As shown in FIG. 1, device 100 includes a display 102 and a plurality ofinput function keys 104. Display 102 may be provided with a touch screeninterface that allows a user to select and alter displayed content usinga pointer, such as but not limited to a stylus, a pen tip, a fingertip,or other pointing device. Input function keys 104 allow a user toprovide additional inputs to device 100. Device 100 further includes apower supply 106 and a power interface 112. Power supply 106 may beattached to or housed within device 100 and may supply power to device100 when device 100 is not coupled to an alternative power source viapower interface 112 (e.g., via a power cord connected to a wall outlet,etc.) or other means. Power supply 106 can also comprise a rechargeablebattery. Output devices such as an audio output device, shown as speaker108, a touch-sensitive output device, shown as vibration device 110, anda visible output device, such as display 102, may also be provided inorder to provide audible, touch-sensitive, and/or visual alerts,warnings, or other outputs to users of device 100. In an exemplaryembodiment, a transceiver 114 may be integrated into device 100 toenable wireless network communications.

Device 100 may be configured for any of a variety of applications orprocesses involving wireless communications including, but not limitedto, communications with the World Wide Web, mobile telephonecommunications, e-mail communications, global positioning system (GPS)communications, etc. Device 100 may also be configured for otherapplications or processes that may or may not require wirelesscommunications including, but not limited to, playing music files (e.g.,MP3 files), displaying digital photographs, playing computer-basedgames, etc. Device 100 may further be configured for a variety of otherapplications or processes.

It should be understood that device 100 may include more or fewerfeatures than those shown in FIG. 1. Further, the features may bearranged in any suitable or alternative fashion, and may be provided ina variety of physical configurations. Such variations may be dependenton the configuration of the specific electronic device.

Referring now to FIG. 2, a power management system 200 for an electronicdevice such as device 100 according to an exemplary embodiment is shown.Power management system 200 includes a processor 202 coupled to adatabase 204 and power supply 106. Processor 202, among other functions,is configured to operate or run one or more applications or processes ondevice 100. As shown in FIG. 2, the available applications or processesmay include a phone application 206, an e-mail application 208; a musicapplication 210, a video application 212, and other applications 214.

Further referring to FIG. 2, processor 202 monitors the available powerin power supply 106, and can selectively disable or prevent theoperation of the various applications based upon the power level ofpower supply 106 and the information contained in database 204.According to an exemplary embodiment, the various applications that maybe run on device 100 may be identified in database 204 as being ineither a first set of applications or a second set of applications. Thisidentification can be done by a user and can be reconfigurable, or itcan be done by an information technology person associated with theoperation of device 100 or the user's employer or service provider. Inone embodiment, the identification can be made based on whether theentity making the designation considers the application, for example,important, critical, essential, or an emergency application.Alternatively, the identification can be based on any criteria,including subjective user preferences.

The user may further specify a battery power level (e.g., apredetermined power level) at which one or more applications (e.g., theapplications in the first set) are to be disabled. The predeterminedpower level may be specified by the user in terms of desired operationtime (from which the predetermined power level may be determined) of oneor more applications, or in terms of actual power amounts. Thepredetermined power level may further be specified on a per-applicationbasis (e.g., where different applications may have differingpredetermined power levels), or for a number of applications (e.g.,where a number of different applications may have an identicalpredetermined power level). According to an exemplary embodiment,database 204 may store this and additional information related to thevarious applications. By accessing the information in database 204, andmonitoring the power level in power supply 106, processor 202 maydetermine when the power level in power supply 106 has been depleted soas to be at or below a predetermined power level.

According to various exemplary embodiments, when processor 202determines that the power level of power supply 106 has reached thepredetermined power level, processor 202 may either generate a warningor prompt for the user, provide the user with the option to instructprocessor 202 to disable certain applications (e.g., anycurrently-running applications identified as being in a first set ofapplications), and/or automatically disable certain applications. Thesevarious exemplary embodiments are discussed in further detail withrespect to FIGS. 5-7. According to another exemplary embodiment,processor 202 may detect when device 100 is coupled to a power source(e.g., a wall outlet, charging cradle, etc.) other than power supply106, such that a user may use the applications available on device 100even when the power level of power supply 106 has reached thepredetermined power level. According to various exemplary embodiments,processor 202 may disable user-interactive software applications (e.g.,e-mail, phone, games, etc.), in addition to or rather than specificinput/output features of device 100 (e.g., a vibrate mode, a ring mode,etc.) upon a predetermined power level being reached.

Referring now to FIG. 3, an exemplary embodiment of a display of anelectronic device, shown as preferences page 300, is illustrated. Page300 permits users to enable/disable power management system 200 and/ormodify or input information used to populate database 204. Page 300 maybe presented to or accessed by users of device 100 via display 102. Asshown in FIG. 3, according to an exemplary embodiment, a user may choosewhether to enable/disable power management system 200 by selecting oneof option 316 (“ON”) and option 318 (“OFF”). If the user elects todisable power management system 200, power management system 200 willnot provide warnings, notifications, or disability of applications, etc.to the user until power management system 200 is re-enabled. If the userenables power management system 200, the user may then modify and/or addto the information contained in page 300.

As shown in FIG. 3, display 300 may contain a list of some or allapplications available to users of device 100 (see column 302).According to one embodiment, a user may identify each application in thelist as either being in a first set of applications (which of course,can be a set of only one application), or a second set of applications(e.g., by specifying “1” or “2” in column 304). The user may alsospecify an amount of power the user wishes device 100 to reserve forusage of certain applications (see text box 306), or an amount of usagetime the user wishes to reserve for usage of certain applications (seetext box 320). As shown in FIG. 3, the user is provided with the optionof entering information into either of text box 306 or text box 320.According to an alternative embodiment, the user may be provided withonly one of text box 306 and text box 320 as part of display 300. Theinformation provided by users via page 300 may be used to populatedatabase 204, and may be accessed by processor 202. For example, device100 may be configured such that upon the power supply level reaching thepower level specified in text box 306, processor 202 disables anyapplications in the first set of applications.

As shown in FIG. 3, the user may specify, for each application, whetherthe application is in the first set or the second set of applications,and the user may further specify an amount of time/power to be reserved,for example, for the applications in the second set of applications.Various other configurations of page 300 may alternatively be used.Referring to FIG. 4, a display 400 according to an alternativeembodiment is shown. As shown in FIG. 4, device 100 may provide userswith the ability to specify power/usage time amounts on aper-application basis (see column 406). For example, as shown in entry408 of FIG. 4, a user has specified the Phone application (column 402)as belonging to the second set of applications (column 404) and havingan associated power amount of 8% (column 406). Processor 202 may use theinformation provided via page 400 to then determine the predeterminedpower level at which, for example, processor 202 may disable anyapplications belonging to the first set of applications (see, e.g.,entries 412, 414 in FIG. 4). Other configurations of display 400 mayalternatively be used (e.g., column 406 may contain usage timeinformation rather than power amount information).

According to various other exemplary embodiments, users may berestricted from modifying any or all of the information displayed on thepreferences page (such as one of the preferences pages illustrated inFIGS. 3 and 4) and therefore the corresponding information in database204. For example, an Information Technology (IT) administrator or otherentity may restrict user access to page 400 such that users may modifyonly one or the other of columns 404 and 406. End-users may berestricted from modifying such information in database 204 withoutpermission (e.g., a password, etc.) from the IT administrator or otherentity. For example, an IT administrator may wish to identify whichapplications are in each of the first and second set, and provide userswith the ability to vary only the reserve time/power amount specified incolumn 406. Conversely, the reserve time/power amounts in column 406 maybe specified by an IT administrator (and not configurable by end-usersof device 100) with the user being given the ability to specify whichapplications are in each set.

According to yet another exemplary embodiment, users of device 100 arenot provided with a preferences page (or similar display), and powermanagement system 200 is continuously and automatically enabled. Theinformation in database 204 may be pre-entered by an IT administratorand/or other person or entity according to any of the variousembodiments described herein or according to any other suitable method.According to an alternative embodiment, the information in database 204may further be remotely configured by using transceiver 114 on device100 to receive wirelessly transmitted inputs from a remote server.

Much of the information shown in FIGS. 3 and 4 may be stored in database204. For example, database 204 may include information regarding how auser has identified each application (e.g., as belonging to either thefirst or second set of applications, etc.), the amount of power or usagetime the user wishes to reserve for certain applications, and so on.Processor 202 may determine a predetermined power level at which certainapplications may be disabled and further store the predetermined powerlevel in database 204. Other information may also be stored in database204.

Processor 202 may access certain information included in database 204 todetermine the predetermined power level, and the predetermined powerlevel may be calculated in various ways. For example, if device 100permits a user to enter one or more power amounts into a preferencespage such as one of the pages shown in FIGS. 3 and 4, processor 202 maydetermine the predetermined power level based upon the power amount(s)entered by the user. Alternatively, should device 100 permit a user tospecify desired usage times for certain applications, processor 202 maycalculate the predetermined power level based upon the usage time(s)provided by the user (e.g., by taking into account power consumptionrates, etc.). Other means of calculating the predetermined power levelmay alternatively be used.

The electronic device and power management system described herein withrespect to various exemplary embodiments of the invention may beutilized in the performance of power management procedures intended toprovide advantages over traditional methods. According to an exemplaryembodiment, prior to utilizing the various applications available to auser of device 100, a user (or IT administrator or other entity)identifies each application as being in a first set or a second set ofapplications and the desired time (or power) allocation for theapplications in the second set via page 300. Processor 202 stores thisinformation in database 204. Processor 202 may then calculate thepredetermined power level for device 100 based on the information storedin database 204 according to any of the methods described herein. Powermanagement system 200 may then monitor the power level in power supply106 and disable or otherwise prevent the usage of applications in thefirst set upon the power level reaching the predetermined power level inorder to reserve power for applications in the second set in accordancewith the information stored in database 204.

Referring to FIG. 5, a flowchart according to an exemplary embodimentshows the process of managing the power of a device such as device 100described with respect to FIGS. 1-4, upon determining the predeterminedpower level for device 100. At step 502, processor 202 determineswhether it is time to sample the power level of power supply 106. Thetime between samplings may be any suitable interval, and sampling may bedone on a continuous basis. According to an exemplary embodiment, a userof device 100 may set the time period between samplings of the powerlevel of power supply 106. Once processor 202 determines that it is timeto sample the power in power supply 106, power management system 200proceeds to step 504.

A step 504, processor 202 samples the current power level in powersupply 106. As discussed with respect to step 502, power supply 106 maybe monitored by processor 202 on a continuous basis or intermittently(e.g., every 15 seconds, every minute, etc.). Processor 202 is coupledto power supply 106 and may retrieve power level information from powersupply 106 using any suitable means known in the art.

At step 506, processor 202 compares the current power level in powersupply 106 to the predetermined power level. If the power remaining inpower supply 106 is at or below the predetermined power level, thenpower management system 200 proceeds to step 508. If the power remainingin power supply 106 is greater than the predetermined power level, thenpower management system 200 returns to step 502.

At step 508, according to an exemplary embodiment, processor 202automatically disables any applications in the first set of applicationsthat are currently running. For example, if a user is using anapplication in the first set of applications (e.g., such as listening tomusic using device 100), and processor 202 detects that thepredetermined power level has been reached, processor 202 will disablethe application in order to reserve power for applications identified indatabase 204 as being in the second set of applications. This may beparticularly useful in situations where a user may be unaware of thepower drain from power supply 106 (e.g., if the user is sleeping whileusing one or more applications on device 100).

According to another exemplary embodiment, in addition to automaticallydisabling any applications in the first set at step 508, processor 202may also provide the user with a user notification or prompt, shown asnotification 602 in FIG. 6, via display 102 indicating that one or moreapplications are being disabled. For example, as shown in FIG. 6, a usernotification may include text stating “Power Management On:[Application] will shut down in 30 seconds.” According to anotherexemplary embodiment, the user may be provided with an option (e.g. viaa computer-generated icon displayed on display 102) of delaying thedisable procedure for a certain amount of time (e.g., 1 minute) in orderto properly close the application, save work-in-progress, etc.

In yet another exemplary embodiment, at step 508 users of device 100 maybe provided with override capabilities enabling a user to override thedisable function of power management system 200. As shown in FIG. 7, theuser may be provided a notification 702 similar to notification 602shown in FIG. 6. However, as shown in FIG. 7, the user may also beprovided with option 704 (“OK”) and option 706 (“Override Shutdown”). Byselecting option 704, a user may accept the disabling of theapplications. By selecting option 706, a user may override the disablefunction of power management system 200 and continue to use applicationsin the first set. According to an exemplary embodiment, by overridingpower management system 200, the user directs processor 202 to disablepower management system 200, after which the user is provided with nofurther warnings/notifications, or disability of applications, etc.until re-enabling power management system 200. According to anotherexemplary embodiment, upon receiving an override input from a user,power management system 200 delays for a predetermined period of time(e.g., 1 minute, 2 minutes, etc.), and then commences again at step 502.

As shown in FIGS. 6 and 7, power management system may utilize a visualdisplay to indicate that the predetermined power level has been reachedand/or processor 202 is disabling one or more applications. Othernotifications may also be provided to users through the use of variousother output devices included with device 100, such as speaker 108and/or vibration device 110. Other means of notifying a user that one ormore applications is being disabled may also be used. Upon disabling theone or more applications, power management system 200 proceeds to step510.

At step 510, processor 202 confirms whether one or more applications inthe second set of applications are still running For example, a userrunning an application in the first set (e.g., listening to an MP3 musicfile) may simultaneously be running an application in the second set(e.g., checking e-mail). After disabling the application in the firstset, the application in the second set may still be in use. If so, thenpower management system 200 proceeds to step 514. If there are noapplications in the second set of applications still running, powermanagement system 200 proceeds to step 512

At step 512, upon determining that no applications in the second set arestill running, processor 202 may shut off all power to device 100 tomaximize power conservation. Alternatively, processor 202 may directdevice 100 to enter a “sleep” mode by, for example, disabling display102 and other functions until an input (e.g., a keystroke, an input to atouch screen, etc.) is received from the user, or another event occurs(e.g., device 100 receives an incoming e-mail/phone call).

At step 514, upon determining there are one or more applications in thesecond set still actively running, processor 202 may provide a warningto the user that the predetermined power has been reached and one ormore applications are still in use. Power management system 200 thenproceeds back to step 502.

One example of how users may benefit from utilizing power managementsystem 200 involves business travelers. Consider a traveler listening toMP3 music files using a smart phone while on a cross-country flight.Should the traveler fall asleep during flight, he or she may awake to adepleted battery and be unable to use, for example, telephone and/ore-mail features (without the use of power management system 200). Withpower management system 200, the traveler could configure the smartphone prior to the flight to reserve a predetermined amount of power fortelephone, e-mail, etc., and wake with sufficient power to utilize suchapplications (e.g., as a result of the processor disabling the MP3player of the device being used by the traveler).

For purposes of illustration, several embodiments described hereinidentify the applications available to users of device 100 as belongingto a “first set” or “second set” of applications. It should beunderstood that various other ways of identifying, classifying, etc. thevarious applications may be used (e.g., the applications may beidentified as “essential/non-essential,” “critical/non-critical,” etc.).

While the detailed drawings, specific examples and particularformulations given describe exemplary embodiments, they serve thepurpose of illustration only. The hardware and software configurationsshown and described may differ depending on the chosen performancecharacteristics and physical characteristics of the computing devices.The systems shown and described are not limited to the precise detailsand conditions disclosed. Furthermore, other substitutions,modifications, changes, and omissions may be made in the design,operating conditions, and arrangement of the exemplary embodimentswithout departing from the scope of the invention as expressed in theappended claims.

1. An electronic device, comprising: a processor configured to run aplurality of applications; a power supply coupled to the processor; anda database coupled to the processor and configured to store informationidentifying whether each of the plurality of applications is in either afirst set of applications or a second set of applications; wherein theprocessor is configured to monitor the power level of the power supplyand disable operation of applications in the first set of applicationsbased on the power level reaching a predetermined power level.
 2. Theelectronic device of claim 1, wherein the database is configurable by auser of the electronic device.
 3. The electronic device of claim 2,further comprising: an input device coupled to the processor; and adisplay coupled to the processor; wherein the database is configurableaccording to at least one input received via the input device, the atleast one input received being responsive to information displayed tothe user via the display.
 4. The electronic device of claim 3, whereinthe at least one input identifies an amount of power and the processordetermines the predetermined power level based upon the amount of power.5. The electronic device of claim 3, wherein the at least one inputidentifies an amount of usage time for at least one application and theprocessor determines the predetermined power level based upon the usagetime.
 6. The electronic device of claim 2, further comprising: atransceiver coupled to the processor; wherein the database isconfigurable according to signals received via the transceiver from aremote location.
 7. The electronic device of claim 2, wherein theprocessor is further configured to prompt the user to approve thedisability of the first set of applications.
 8. The electronic device ofclaim 7, wherein the prompt is at least one of a visible output signal,an audible output signal, and a touch-sensitive output signal.
 9. Theelectronic device of claim 1, wherein the electronic device is ahandheld device.
 10. A method for reserving power in a power supply fora electronic device, comprising: identifying a set of at least oneapplication from a plurality of applications available on an electronicdevice; monitoring the power level of a power supply for the electronicdevice; disabling the set of at least one application when the powerlevel for the power supply reaches a predetermined power level.
 11. Themethod of claim 10, further comprising: receiving a first input from auser of the electronic device; wherein the set of at least oneapplication is determined based upon the first input.
 12. The method ofclaim 11, further comprising: receiving a second input from the user ofthe electronic device; wherein the predetermined power level isdetermined based upon the second input.
 13. The method of claim 12,wherein the second input is an amount of time.
 14. The method of claim12, wherein the second input is an amount of power.
 15. The method ofclaim 12, wherein at least one of the first input and the second inputis received from a remote location via a wireless communication link.16. The method of claim 10, further comprising: providing a prompt to auser to approve the disability of the set of at least one applicationupon the power level reaching the predetermined power level.
 17. Themethod of claim 16, wherein the prompt is at least one of a visibleoutput signal, an audible output signal, and a touch-sensitive outputsignal.
 18. The method of claim 10, wherein the electronic device is ahandheld device.
 19. A method for reserving power for a portablecomputing device, comprising: configuring a database for a portablecomputing device responsive to a first input received from a user of theportable computing device, the first input defining a group ofapplications available on the portable computing device; monitoring thepower level of a power supply for the portable computing device; andproviding a prompt to the user to approve disability of the group ofapplications upon the power level of the power supply reaching thepredetermined power level.
 20. The method of claim 19, wherein theprompt is at least one of a visible signal, an audible signal, and atouch-sensitive signal.
 21. The method of claim 19, further comprising:receiving approval from the user in response to the prompt; anddisabling any of the applications in the group of applications that arerunning.
 22. The method of claim 19, further comprising: receivingdisapproval from the user in response to the prompt; and providing asecond prompt to the user upon delaying a predetermined period of timeafter receiving the disapproval from the user, the second promptrequesting approval of disability of the group of applications.
 23. Themethod of claim 19, further comprising: configuring the databaseresponsive to a second input received from the user, wherein thepredetermined power level is determined based upon the second input. 24.The method of claim 23, wherein the second input is an amount of power.25. The method of claim 23, wherein the second input is an amount oftime.
 26. The method of claim 23, wherein at least one of the firstinput and the second input are received via a wireless communicationlink from a remote location.
 27. The method of claim 19, wherein theportable computing device is a handheld computing device.